/*
 * @Description:Test02.java
 * 
 * @Author: rendc
 * 
 * @Date: 2024-09-24 09:19:37
 * 
 * @LastEditors: rendc
 * 
 * @LastEditTime: 2024-09-24 09:28:53
 */
/**
 * Test02
 */
public class Test02 {

  public static void main(String[] args) {
    // 实例化匿名内部类对象
    // 这里的参数会直接给到父类构造器
    Animal animal = new Animal("狗子") {
      // 必须重写所有的抽象方法
      @Override
      public void eat() {
        // 因为匿名内部类是属于Animal的子类，所以可以使用super关键字访问父类的方法和成员
        System.out.println("Animal,eat:" + super.getName());
      }

      @Override
      public void sleep() {
        System.out.println("Animal,sleep:" + super.getName());
      }
    };
    animal.eat();
    animal.sleep();
  }
}